using UnityEngine;
using UnityEditor;
using System;
using System.Collections;
using System.Collections.Generic;

namespace qtools.qhierarchy.pdata
{
	public enum QTexture
	{
		QArrowDownButton = 0,
		QArrowUpButton = 1,
		QCheckBoxChecked = 2,
		QCheckBoxUnchecked = 3,
		QColorButton = 4,
		QColorPalette = 5,
		QComponentUnknownIcon = 6,
		QErrorChildIcon = 7,
		QErrorIcon = 8,
		QLockOffButton = 9,
		QLockOnButton = 10,
		QMonoBehaviourIcon = 11,
		QMonoBehaviourIconParent = 12,
		QPrefabConnectedIcon = 13,
		QPrefabDisconnectedIcon = 14,
		QRendererOffButton = 15,
		QRendererOnButton = 16,
		QRendererWireframeButton = 17,
		QStaticHalfButton = 18,
		QStaticOffButton = 19,
		QStaticOnButton = 20,
		QTreeMap = 21,
		QTreeMapParent = 22,
		QTrimIcon = 23,
		QVisibilityOffButton = 24,
		QVisibilityOffEditButton = 25,
		QVisibilityOffParentButton = 26,
		QVisibilityOffParentEditButton = 27,
		QVisibilityOnButton = 28,
		QVisibilityOnEditButton = 29,
	};

	public enum QColor
	{
		BackgroundDark,
		Background,
		Gray,
		GrayLight,
		GrayDark
	}

	public class QResources
	{
		// SINGLETON
		private static QResources instance;
		public static QResources getInstance()
		{
			if (instance == null) instance = new QResources();
			return instance;
		}

		// PRIVATE
		private Dictionary<QTexture, Texture2D> textures;
		private Dictionary<QTexture, string> resourcesDark = new Dictionary<QTexture, string>()
		{
			{ QTexture.QArrowDownButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAeklEQVQoFdWSwQnAIAxFY+nRRVzEU3ZxPxdxEe8tX/gSijnorR8kmuQp4RtU9ZED3WB671tojFGuLcI0u2ApRbA8uaAHMP8jMMBHa0fOWVJKHGXE1prUWmduaQca0Eh9IebHB+CB0d5u96wjLkEUPAA16NiO8SKG3dULdKAil+zTpugAAAAASUVORK5CYII=" },
			{ QTexture.QArrowUpButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAeUlEQVQoFWP08fH5z0AGYAHp+fLlC0laeXh4GJhI0oGkGKdGNzc3BhDGBcBORZcEadDU1IQL79q1C86GMTBsRNcEMgCbzYygUMUWOPn5+WDDJ06cCLMETtMmcODG42Bg+BGHOgxhsjXiDBwMK5AEKAoccAIAmUAqAAB9WRmm5hpKNwAAAABJRU5ErkJggg==" },
			{ QTexture.QCheckBoxChecked, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAABV0lEQVQoFWO0sLD4zwAETEyMDECEF/wDqvwHIoCABUS42wkwlKRKM3CwM4G4OMGPn/8YemY/Zdh56APQIqA1JSnSDDxczAwszIx4MUgNSC3YdSDncXDgtundhz8Mdx7+hLsCpBakB7cOqNJpS18zpFY9ZFi26R1cM4iBofHM5W/AAICouXzzO8PeY5/BHE1lDogglETROHf1G4bSjicMC9e/Zfjz5z9D9+yXYGXOVrwMhtpcKBrBoQoT0dfgYljG9I5h0bq3DM9f/WZ4/PwXAyfQTxlRojAlcBrFRhNdLoaMSIiiPUc/gRUlhwoziAiimA8WR9EIEgn1EmTQVOFg+A+MZxV5doZAN0GwQnQC0yigimmNcgy7jnxikBZnA8YZuhYInwWUgn78+MfAw82MosLNhg+FD+OA1IL0MIHSXs+cpwxfvv1l+PP3P14MUgNSC9LDSG4iBwCgfYRJ3KYMwgAAAABJRU5ErkJggg==" },
			{ QTexture.QCheckBoxUnchecked, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAgElEQVQoFe2SywkAIQxE46cHO/Bu/53YgdaguPsCgpd1hb1uIBjxDSNhTEppyF3GGI7XGkNx8ZAhBIkxinNuK+y9S85ZSilicULkvVdX7k8NA8u7xeLNaf3GZFW4PpzOv3CzqW/LIRGnNVlL9ohRa02Ydw0DC6NZJXu11iNTRNQFcsdGKGm8LNQAAAAASUVORK5CYII=" },
			{ QTexture.QColorButton, "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAWklEQVQoFWP8//8/AyHAREgBSJ7OiligbgLR7EDMBsS/gPgnEP8BYjCAKQIpAGEQgNFwRTCHg0xABih8mCKQFcgAhQ+zDuQGEEB2E0QESDIO1RCHBQHcJ9gYAIloDyIcDeN8AAAAAElFTkSuQmCC" },
			{ QTexture.QColorPalette, "iVBORw0KGgoAAAANSUhEUgAAAJYAAAA8CAYAAACEhkNqAAADBklEQVR4Ae2dT2sTQRyGZ5uALZaqhxJvevTixasHJR9Mqgc/gDfvkoP4IeqfowcVFPSSBDwYsCBpTY20jTuxC+a3dvKblzk+e1lm5n2n5eFhdguhqRb1FcTrd7cSm3Wtr1d/PdySy092b8ndp7NncnfrzTW5G/b16uN3evdueCGXN+QmRQgkCCBWAg5LOgHE0tnRTBBoiXX6aC+cvdxfqcRxnOeCgJdAS6zq3v2wqEVq5Ir3OI7zXBDwEuja4EYt0Fk9uZRrNAqL8WgpVZzngoCXQOvEisUoUXXj5l+p6jtSeXGSawj8V6zl4y+eVOdyNY/FpsQdAusItB6F/75TLR+L5+9Y8fHIybUOJ+sNgdaJ1byoNxLFe/NC35S4Q2AdgdaJ1Xmw1+osJePlvcWFiYsJtE6si6OsQMBPALH8rEhmEECsDFhE/QS6w+HQnzbJ+ellM5MxnPzMCK9GO5/i36ja9bE31Yp16/jwi9w9GW/L3XCgVz8f6t2rYSyXObFkdBRTBBArRYc1mQBiyegopgggVooOazIBxJLRUUwRQKwUHdZkAoglo6OYIoBYKTqsyQQQS0ZHMUUAsVJ0WJMJIJaMjmKKAGKl6LAmE0AsGR3FFAHEStFhTSbQHQwGcnm7uiR3w7eZ3N15dSJ33+/+kLuzo9dytzNsfQrcv9dXf9Qm3x7ZGf94Gj74wybJiWWAMCxDALHKcGQXQwCxDBCGZQggVhmO7GIIIJYBwrAMAcQqw5FdDAHEMkAYliGAWGU4soshgFgGCMMyBBCrDEd2MQQQywBhWIYAYpXhyC6GAGIZIAzLEECsMhzZxRCoer2e/CVN/cncbJcx3NQ/vrJzR/9yqOdXNjN+ydXodN5fncgYVQf6f8gJk4wfZKK3v5uJjOH1oH9ehxMrAzRRPwHE8rMimUEAsTJgEfUTQCw/K5IZBBArAxZRPwHE8rMimUEAsTJgEfUTQCw/K5IZBBArAxZRPwHE8rMimUEAsTJgEfUTQCw/K5IZBBArAxZRPwHE8rMimUHgD7Cif5j2Lp5yAAAAAElFTkSuQmCC" },
			{ QTexture.QComponentUnknownIcon, "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABJ0lEQVQ4EWP8//8/AyWABaSZkZFRCkipEWHQLaCFz5DVgQ0AaX707OV+ZAlk9ofPXxmWLlrI0Nna6Ai0jAHZECZkhbjYHOysDMERUQy1TW0gS9SgLgYrJ84ANjYGAR4uBt/AYIb61i6wITDLsBrw8dtPhqz52xnk8yYx+HSvYLj8+BUDBzvEEGd3T5he3C5YduwKw5GbjxiWZgcyyInwM2TN2w5WDDJETIgfxQBYIKII2qjLMujKijGAaJDtIMNggIuDHcYE01gNAGkGgUdvPzJM33OGIdPFBMzHRmANA5jCyhX7wC7JdDGGCWHQeA0AqcZnO0gerwE26nIgNXgBXgM6Nh0FByI+E7AGIkzDw0l5MCZOGq8LcOpCkmAEZWcSciNMKzxXAgDQhFB+jSkqXAAAAABJRU5ErkJggg==" },
			{ QTexture.QErrorChildIcon, "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAPElEQVQ4EWO0sLD4z0ABYKJAL1gr7QzYt82cAYQJAdq5gJDNMPlRFzAwMNIsJdItHdDOC7CEQoimOCEBADfBC7/G+AaVAAAAAElFTkSuQmCC" },
			{ QTexture.QErrorIcon, "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4EWO0sLD4z0ABYMKll4mJkQGECQGcBkSFSTGAMCHAgk2BmCgbQ1KcDFhq197XDK9e/8KmDCyG1QXBARJwDaFBknA2NgaGAbravAyhgQhNwf4SDMaG/Nj0gsUwDPDzFgdLpGfvZABhEPCHioE5aASKAV7uogzODsJoShgYbKwEGXw8xTDEQQIoBsBsx6ayKFcRa7TCDYiJkGZQU+HGphculhAjDWfDGGADRIQR0QaTwEaDLJGUYEeRAqcDUEijg5lT3dGFwPwgoNqpMx/C5ZhA0RYegog2mAxyLMDEQDTIMgszAbgQC66Aw+UCkE4/L3GGE6c+gA1hpFluhLuRAAMAHMUrhIQDU0gAAAAASUVORK5CYII=" },
			{ QTexture.QLockOffButton, "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAzElEQVQoFcVROw6DMAx9ibJABAMDCxfh/qdBDAwggRgg1bNqlECGtkstRY7fJzbG9H0f8A5rLcqyhDEGIQSs64rzPJW+stNbURSo6xrOXRC895jnGdu2qUyyKNiBBr46DIN0YbemaQTf9z3paGnlSOwwTROO4xABM2vi5OMQE19lUBiH1sorJyYtPs2O31JVlei7rsv6qGE3LoVh1ZBVR2Csy443jmMkf16zpqcsRf5sats2nedWWa5Rf+KNu0ryum6CblkW8HwTPy3iBZc7TSbS2gNQAAAAAElFTkSuQmCC" },
			{ QTexture.QLockOnButton, "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAA+UlEQVQoFWO0sLD4zwAFwkKsDFYWQgz8fMwMHz/9ZTh24h3D23e/YdJwmhGmycpCkKGmXImBg50FLvnj5x+Gls57QM3v4WIgBhOIANkA0nD/wQ+G+LSLDB4Bp8E0iA8SB8kjA7AmkJNANnT03mV4/OQHw69f/8A0iA8SB8kjA7AmIUGIk0AakAGMD5OHyYE1wTjE0oyL5ob9Dw6QZGBkxK3lPzB81254zjBt9iOwIsavb/P/49MAMwqk0dn7JJjLhE3DwqVPYGrhNLI6svxER00gD6KD+GgZdCEGZHVMK9c+Y/j77y+GImQBkDxIHQzAEyxMgBiarIAAAKADWJB6kMB0AAAAAElFTkSuQmCC" },
			{ QTexture.QMonoBehaviourIcon, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAABbklEQVQoFZ1SS07DMBB9/rSEILrjBpyAVcUxODSnYMMWpSmkceM6sc0b04ZWiE1HGtmx5308GbVerzOuCH0FpkBs//QCqL9wNXpo30MPHVemrIceci5hBVS9vf5BqpSAFKHSCMSJq2Sc6/RVDxTFc5d1dYP6ZolquUC9tNC89INn7jHsHTwzHlXtueLDfY37uxqr1QoLa8nLW9ocCGzbFt2XQds0xa6QzpFZtP3cotlsEGOkokLX79A0GyrucVtVc63QzmGpkscM5xzemcZo9mdCJom1phg4FV8AFRW01jBMT4UUNZZimRjkTOO/Xb0AirUSLDLGwCiZDwGgNMraxc+9fM87boYwlrfJWSY45lhgmgSR/7Vtt3M5HzXv8dE53C00bglKORVFIfAhoNt1OLC7p7D5rK1hihjZiBAz6uO73BDgeoc0BSiSnOJiAORQ7lyYkIxiYUI4eCTaPOMv2GLVPz6fiOb18N+QHyfnG2cuy41d/BOgAAAAAElFTkSuQmCC" },
			{ QTexture.QMonoBehaviourIconParent, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAp0lEQVQoFe2SMQ7CMAxFbaeFjZkFwdgzsfYiHISZGyExsLChDFnKkjaOcTpVKC1SFhY8JbZf/GN9FBEoCSqBElMdzvcT5PEOAJ0IWkNgJaJdg3e3ttG8ggkipku6TINNCDXSIDV4ZtPzxvj99TEANGNbftb0hZnzH5xZTEr/YjlxQc9CiUrFfv/jKz+2ApUaTTx+lhGoC6ImX6nJ+2iRxT53W6d9o8nfkTs1n/MYs+sAAAAASUVORK5CYII=" },
			{ QTexture.QPrefabConnectedIcon, "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAb0lEQVQoFWO0sLD4z0AAMBGQB0szvnqchWGSX+g5FL0sIN6ylc/gglHhUnA2jEGUdUQpAlsHMhbZmk2rjcA2wdyGYhLMbTCadDfBrILRMBNgNAvMXpA70K2BKUJxE0wQnSZKETwIQLpxuYmRaqkAAPp4Gub+4WgVAAAAAElFTkSuQmCC" },
			{ QTexture.QPrefabDisconnectedIcon, "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAdElEQVQoFY2QyQ3AIAwEc/BJR+4gFaWKVJTK8sohI03AjhDms2Bm2RWjiDxDZ02d+3yd9vP+cdtivUmJYy7cepU9O2th6jQE5Tg11jH0pJt5iW4oqQZi6DVDRKEeSuRqDx8DHI/D0dLvCxRodsJNN861hjq9gUcUlwzc0acAAAAASUVORK5CYII=" },
			{ QTexture.QRendererOffButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAiElEQVQoFe1SMQrAIAy0JbOrgx/x/39xcFVwElpNNZiiRZzrksvlDszpYYy5xMaB5gEg2KhhTSkhj2op5VD0JmOMRIHWmpovEEJg47N0zjlhrcXBDDNXbtBYyH7HGe7NuKNSirgZJkEF/1VzEH3C7deUfJZT9d7XPJ8C7eEZu9DQB1jQMsm28QYb3kcXjeTkDgAAAABJRU5ErkJggg==" },
			{ QTexture.QRendererOnButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAg0lEQVQoFWO0sLD4z0AGYIHpkZXhgDHx0o+f/ADLgzXGR0vjVQyT3HfwLYzJwLJvmzmcg4+xcOkTFGkmEC8+7SKDk9dJsAQuNoouIAesESSI7EdcbGTNjN/e5RMVqiCngvwIC5xRp6KFNixgQKFLdKjC4hkWJYzkJnJ4AoCZRCxNtkYApSRGxhp2XW8AAAAASUVORK5CYII=" },
			{ QTexture.QRendererWireframeButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAg0lEQVQoFWO0sLD4z0AGYIHpYRaRgDHx0n/fvADLgzXyhWXjVQyT/LpvLYzJwCJcPgXOwcf4ff86ijQTiPdhbgvD284csAQuNoouIAesESSI7EdcbGTNjN7rzxAVqiCngvwIC5xRp6KFNixgQKFLdKjC4hkWJYzkJnJ4AoCZRCxNtkYA77tPZqUMLF0AAAAASUVORK5CYII=" },
			{ QTexture.QStaticHalfButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAA70lEQVQoFWO0sLD4z0AGYCJDD1gLikZhYTaG+GgZhvkz9BikpaUZBAQEGJiZmbGazYIs6uMhBtQoDRZiZWUFawRxPnz4gKwMzEax0cFWCEMBNzc3hhhIAEUjVhU4BFE0Hjj8DkPZ169fMcRAAih+PHTkLVgRyMm/f/9mAGn69u0bVo1wG/dtM2cIC5ZiOH32A4O8HCcDKHC+f//OwMfHx6CgoIChGawRpGnnnjcMm7e9xFDw+fNnhi9fvmBoZsKnCWYKNs1gP7q7iDCAMDqQlJREF4Lz4X7MKbrKAMLo4Pnz5wwgjA4YBzaRozsHHx8AWuFInweJVQkAAAAASUVORK5CYII=" },
			{ QTexture.QStaticOffButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAu0lEQVQoFb2STQ6EIAyFq44rkLB15zG4/2Xckii6IjN5TUqkOj9xMU0ay2s/aJEmhPCkG9beYBh5HMGu62gYBjLGsJxSomVZKOd8LDuDgLz3pUjiGGPRJKhalZMkie+VBr0CIfxqFYiZtF1pqKkuZ9s25qQ9QKLpDcuJ0zSRc472fae+79kRQ0NOG4NIrOvKV68L8DuQ03D7CZJNrmCe0VpLcG3jOGqprMuM8zwTXNs7vfn7Iy+t6ha/rV/k3klH5MDIfwAAAABJRU5ErkJggg==" },
			{ QTexture.QStaticOnButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAzElEQVQoFWO0sLD4z0AGYCJDD1gLC7JGYWE2Bh8PMQYHWyGw8IHD7xi27HjF8PbtL2RlmBpBmuKjpeGKYOyFS5/AxWAMFKfCbIJJgmhsYiBxFI0gAWIBikaQn9ABNjGQGpTAOXTkLVgfzHkgTTAxdAPhNu7bZs4QFizFcPrsBwZ5OU4wBrFBYiA5dADWCJLYuecNw+ZtL9HlwWIgOXTNTPg0wUwBGYiumfHbu3ySkpyT10mweXA/5hRdZQBhdIBLnJHuiRzuVHQnEuIDAHdoTjk2F2nhAAAAAElFTkSuQmCC" },
			{ QTexture.QTreeMap, "iVBORw0KGgoAAAANSUhEUgAAAbIAAAAQCAYAAABz0PpNAAACPklEQVR4Ae3dyW7CMBSF4ZuBsahdUHbseQXe/1nYICHGZmCy62tkAQKksCDK4neUOkpNY30pOrLr0Gg6nVp5Ufb7vYzHY5nNZtLpdF60ejzN6x5N9AwuuPA+uv4O8H64Wtwe4XKrUe04rtaMVggggAACCDRTgCBr5n2hVwgggAACFQUIsopQNEMAAQQQaKYAQdbM+0KvEEAAAQQqCqQV29EMAQQQQACBWgX6/b70ej3pdrt+T5JEyqKUoiykKC77+XwWgqzW28LFEEAAAQRU4Hg83kHEcSwaVFqHMhz+ymDwJd/fP9JqtSSKRIwxPshWy5VsNhtZLpcEWQCjRgABBBCoT+BwOPhQClfUENPHU26DzLrQWq/XLvROMhqNXJglstvtfICVZelHa/p6RmRBkRoBBBBAoDaByWTycK35fH53Lk1TMUcjWfYneZ75EZuOyKyxot8L5XoUzlAjgAACCCDwYYFnH7RxOxrzl3dTiUmcSOSmG4s8F5MYabfbYuPL53hYe6mvk5Ef7jQ/HgEEEEAAgXcE4ugSUdYaPxrT6UcfXi6/Irfp3820EGTvqNIWAQQQQKA2gXJfyul88tezYsW4QNOiIzc91oUeWpha9Ax8QQABBBBomsBisfALOnQJvo7EwqYLPba7rWithSBr2p2jPwgggAACXkBXNuoyfd31WbLUbdts6xZ/ZKLPj4VCkAUJagQQQACBxgnoSCzXhR5utaIW/e8AYZFH6CxBFiSoEUAAAQQaKxCmEZ918B/0CFr7Kikp/AAAAABJRU5ErkJggg==" },
			{ QTexture.QTreeMapParent, "iVBORw0KGgoAAAANSUhEUgAAAbIAAAAQCAYAAABz0PpNAAAB/ElEQVR4Ae2cQWrCUBRFYyy4Ceduwf1P3IgTl6CCbUWOXkl9/AaV0B4n9zX3fJMeIx8sdrZerz+7B4/9ft8tl8tuu912i8XiATU87Lqhk/MRvejF99HtHvD9cHOR03/3stlsZumjZe5bIBkNaEADGtDAVA24kU31lfG6NKABDWigyYAbWZMmIQ1oQAMamKoBN7KpvjJelwY0oAENNBlwI2vSJKQBDWhAA1M18DHVC/O6NKABDWjg7xo4Ho93v1zf9918Pr871vqDG1mrKTkNaEADGniagcPh0J1Op+vznTex33w95brwe3AjSxvOGtCABjTwFgOr1Wpwnt1uNzjWcsCNrMWSjAY0oAENPNXAT/9o4/zx4pjHuFVjzuQaDWhAAxrQwAsMuJG9QKpPqQENaEAD7zPgRvY+155JAxrQgAZeYMCN7AVSfUoNaEADGnifgXIj4w9vZOtlwZOuuxjAB6kXvVT3APcJWbHZwZPZVTM8WbHZwZPZVTM8WbHZwZPZVTM8WbHZwZPZVTM8WbHZwZPZVTM8WbHZwZPZVTM8WbHZwZPZjZ3LjYwvp5GtJ4EnXXcxgA9SL3qp7gHuE7Jis4Mns6tmeLJis4Mns6tmeLJis4Mns6tmeLJis4Mns6tmeLJis4Mns6tmeLJis4Mns6tmeLJis4Mnsxs7fwEpTcqmQ82utwAAAABJRU5ErkJggg==" },
			{ QTexture.QTrimIcon, "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAQCAYAAADagWXwAAAAR0lEQVQYGWO0sLD4z4ADMOEQBwvTS5KPjw/uDBQ7kSVAKuCS6BIoknCzkBhwnZ8+fUIShjDhkiAuugIUSXQFGJIQAyEkjSQB8cQKxxIfHkcAAAAASUVORK5CYII=" },
			{ QTexture.QVisibilityOffButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABa0lEQVQ4Ea2T7aqCQBCGx82sNFELpEvx/i/GH0olgkJfGs/AxOI5nD+nF1Z3Z3be+dygqqpZvgD3BQ6lUKLtditFUfyLM8T69XrJbrdTouv1Kuv1WvI8l9VqpTL0t9tNxnGU5/OpsuVHI3o8HtI0jcRxrJFxxmCeZ3UCcZqmUpalZFkmQRAseUQjQpokiSoh4+LlctEze9bhcJDNZiP7/V7CMFQ9jgwaEd64AKZpkiiK5Hg86hliang+nzU6hJyJzIeDHUMDabVtq5eJYhgGjQDv1MmwtHMWul3gT3GtAZD1fe+rdY+dD0cELAOFdc5J13VabLppo0HaBhz5dlpsPBIquUNCFNSkrmuV0y3AaKDHmTkyYiUif7pEAeke3TmdTloTdCy/m6SFzMfniaDAC4Vm8DiTFgTskVk3lyQQfubI2O/3u7AAaQAMWUw6aTIapO7jB5Gv9IuLnAITsT8udv9PIrvk/3k6v723NzF2w0xmM9SXAAAAAElFTkSuQmCC" },
			{ QTexture.QVisibilityOffEditButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAACD0lEQVQ4Ea1T21ITQRA9c9kNIJArJOJGQVDBsrzgSx703/w5ebG8YFGAVVKWWBpFRCIh2d3sztg9uBtCtMoHTtXszqXndPfpHtFqtSwuAfISOByFI1LlOfi3H4xzCgHw+A9otrGDGKpSh3/nIeJ3byCni/BX7gFewVHYqA/T+YHk4Atsv/tXWheR6XYQvd2AnluAf+s+TPcXTO8USBPYOCTiErzmCiYePYW3uEpRjiviImIXqnHdedL1gBYa8e6rM890SSgFf+0xVLECL7gJOTWNiM+NObOhr6PWwTK8hUW3aZMEaraMAl1k6EbTpR1tv6DoIrenKvPwl9ZoPtRPqlKNvCw7A/5wmuHmc6gqaba6juTrPsTkFec9PT7M7VTjBvT8tXytIRXFNZqzjUKYsAdda5AhFWD3dX4hm7hinrsn06NvSNofs3NXMaE9DD7sgNPUtauuAGzA1c2QfG9TFT9nS6ggCJ6ZzhERzEJSCoK8yJkyBvvvkXzaQ3rYhkd6sMCDvS2ICUqT4IpBVc0g8idCBP7SXVc9DpujSX8eUAukTi/h+eAouM+gSAraP48h0Z9dOVOCrjchS1WIwpRrbMOakdCyWIXtnSDafknWo08076OM3ZwcI6bBDKwVg6ODNUQ8SU35hFpjHdEOkw0xRpQfWTsiLu/zUwk3N6jPKrlZNvk3UWZx4W/7p0hoXMRvPiC4WW9IB+0AAAAASUVORK5CYII=" },
			{ QTexture.QVisibilityOffParentButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABWElEQVQ4Ea1SwW6CUBAcEATBFkoNqQZv+g/+/3d402ghtMU2oohCmW3A4MHGhE3gQd7u7OzMKovFokQHoXaAIRCdAWm3jExTh+NYsG0T/X5PrvP8gjQ9IUn2OBxOtyXy3wLy/Wd43hCKoqAsS+z3mSRZVh+ua8mTJCnCMEFRtKVtgCaTF2HCyuMxx2oV43wuBEhVFQSBJywJqOs9rNcfLTDRaDR6akDIhEm6rmE2e8N8PsZwaFbAnxXwRYBt24DvO/Jdv1TD0EDqdVADakKG7KxpKsZjtzUqcw1Dx2BwrevMNTXLzuJIzYhdyGSz+RJmHGe7TcQAjlRHluUtB0XsOP6prNZEJzoWBK8i9nL5LnUUezr1qjH/1oFuRtGuxpSzcY0M2J32c5codJpmlTaoNDRAMMa/9jMpir6x2x1kX7iQBGA8vJAs4uxhSNpt6ry7F925dq/LI3e/oIKYQm8EDZYAAAAASUVORK5CYII=" },
			{ QTexture.QVisibilityOffParentEditButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABlklEQVQ4Ea1TXU/CQBCcu5ZCARFExaBolGhCYmJijOFV/7g/QDQxRojxKwaj0YCCoNDWXt270oK8yEP3oe3d7c7OzWxZtVr1EEHwCDAURGRA+jQjnspAK6xByy6CxU2AMXjWEKLbxs/bE8Tnx3SJWo+BqCC2sQO9uAXGqdh1qegd8DzwzAL0lRI1KMF9bcJ+qAN0PhkjIAZjew/6clGdiX4X1tUpPMemNQM4R7yyDy23pABZIgmrXgPEGExpFCuVQxDJxGqcg5kpJA6OYB4eQ8sXaO8Mgq4oQ8vmYWxW1LXVBj04T6aJei5YQ/Q6pMlAMeQJE8yIwyjvUncB0WmFeUzWpefDdWSucfHd/+MEn8sqt+ybC4jhAJ5twb69JO6a0iig4Mk60jIIJbbTvCNN0konpmlKWCn2sHbi5xGIFFteU4bbaZNzDeWon0Byhb+ItH+d7F8d2S81odkJ7Ge6Lj99++/J/gnHJNh4jijLebyG23pW8yIHUs6PP5AD2n+ZcSBHHMVXD4I6OgHnGd/RuTZjw3/TfgGgNZsvPss7fAAAAABJRU5ErkJggg==" },
			{ QTexture.QVisibilityOnButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABsUlEQVQ4Ea1SSy8DURg9M8YMbUMraIOmHhHvR6WR2hGPxI4EC2FBbMTKStKIECGxYcOCxEZi4xc04S+It3pt6Mq0ikRiZrSpe690pmUjTb/Fzf0y9zvfmXMO5/V648hA8RnAYBAZAxJ+M6qqENHfa4G7NQcOuwCeA+RwDOeXCvyHH7gKqL9HWM8lNOIJt8lxK4YG8iAIHFQtjvMLBdEY0NwgwWzmESdq+o8+sLUTgaKkSssYcWTr3GwhujvNDP3uQYNvUcbbewz0myhyWPIVwdOWy9g6igXML8tQVQOMaTQ6kq+DUCaLqyGUlgjY3y3FwV4ZOtpNWFgJIfxC6JFyt+RgesoG+heJ4l3ObDTVS4kegRsVcijKGNrJZps1C7MzBdDIguPTT/2dyymiptqY4w1y+pu0LvxT8AsX14YTdbUSKJO1jTCe5SgirzGsb75AIjp53Ln6kseghtt7Y465lhC7p+uv2HRSkgyxaX9ypvwRO8X+iTErhgd/7Kea0Ox8RYGWRgkmk2H/5nYkxTEKrgPRhlZlOQlknwVtyYEMkUBe/TOQPzDpn0lJSB+ETmYM6BuP3J7wqmByigAAAABJRU5ErkJggg==" },
			{ QTexture.QVisibilityOnEditButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABlUlEQVQ4Ea2SuUsDQRTGv5ndcU1MPOKBJxKMeKKVkqSw0CKFNtpZmM5C8K+w8F8QtbOxELUSLOy11kbxPpPCi2wi6l7ODpsNGg+QnWZ57LzffO97H4lGoxY8ONQDhkB4BpK/KpLrmqD0xcFaO0ArqwFCYGaeoF+f4PVgF/rN2dcWURPXI0LhHxqDb3AEoBIsXYN+dQzLNMBaIiCKjzdYeNvfQ25nDZb2/gnoKCIIjE1B6R4QP/X0FdS1BZgvKq8JCGMIjk+Dhbu42hhoRQjq+uInmPDIF0+4EFuJurkMGqpF1cwcqmbnwSK9UDeWYKrP4iF7bP/wBH+jYDGVaurBmttcmfrdufAkMJoELQ+BlgURSEyKUbWLQ/eeVNMAuaHVrSkf25NDjYc0tJtTFyY3hoWS7NYKV/YIM5dBdnsVRGbCo/xF4z4FPXWZL+FszTY7CaXnO7O5FazENdvu1C6Pisz+ff08O5ah8/W38/WXcsTP6y+AHJFSbRNK+2M8kJ3Fgdzngbz9K5AO6L+fQhD+S3D6PAN9ABPYnYx5IbaWAAAAAElFTkSuQmCC" },
		};
		private Dictionary<QTexture, string> resourcesLight = new Dictionary<QTexture, string>()
		{
			{ QTexture.QArrowDownButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAfklEQVQoFdWSuw3AIAxEnSiFN2EddmBBSq/CJnSJDmSIAo5EupzER8c9YT5bCOGkDzrAOOeW0JQS7UvELWyCIkJolkzQAtT/EVieQ+vGGGMkZm4WLijnTN775mEynBEBBFUzaArCVNiCkBlKhQk9S6tu74dS+9L7rOyIv7eqC8pSJJ9rjobuAAAAAElFTkSuQmCC" },
			{ QTexture.QArrowUpButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAc0lEQVQoFWNMTk7+z0AGYAHpUVdXJ0nrzZs3GZhI0oGkGKfGDRs2MIAwLoBVI0gDBwcHGOPSjKERpglmE8gAbJrBgQNTBKIDAgLA3B07doBpDw8PMI1OYNiIrgAXfwhpxAgcmJ9wBQpMnmw/gm0EpT1SAQCfzhlfXca+EwAAAABJRU5ErkJggg==" },
			{ QTexture.QCheckBoxChecked, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAABOUlEQVQoFY2Sva6CQBCFz4XVQGFjgiZQGKiJnYmFBQVPAo9l7RvQUZAgvAChpqAiGkNDpQLX2bjkkhuMW+zM7pwv85P58X2/x+swxiBJErmTp+s6PJ9PHmd0Hw4HrFYrzGazSYgCj8cDl8sFSZJQIgZN06AoykeIgrIsc+27Ognz+XwSapoGVVUNcdJSS5+besnDMMTxeESapgNMzj+wKArQEOiUZYk8z7mv6zq34hqBURThdDrhfD6jbVsEQcB1tm3DNE3BcMunKn42mw0vKY5j1HWN2+3G+3ddV0gGO8poWRaESJToOA4Wi8UACGcE0ud+v4dhGOj7Huv1GrvdTmhHdlSqiHiehyzLsFwuJ7eJ0QTv9ztUVRUct9vtdvQWD9ISw2j3rtfr1ytHWmJ4qe/dmyxLZPu75L/vGnGpeAWI1gAAAABJRU5ErkJggg==" },
			{ QTexture.QCheckBoxUnchecked, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAjklEQVQoFe2STRJDERCEOwzlApzGbVzVabwboCRp9ezeT5J1ZmGU+Roz1Y+U0hPvEBEopbg9jTEGeu+zLlxjjAghwBhzKmKhtYZSCnLOfEjgvYdz7lLEotZ6svvvFKy1t6IFkGVL100t+iD/hQdDWUe/D4c2qrWui24zWWqE3tu27WPLkaVmenX33lcmfwFMazT7V5IT7wAAAABJRU5ErkJggg==" },
			{ QTexture.QColorButton, "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAUElEQVQoFd2OUQqAMAxDi4pj4P3vqoguTxthR5gPsjRrPxIxKHP2XuRV2iT+bumSHlhCSXnGTx6YXos13dZlHx3epnfZnegAZA526euk+cc0hZwJLOM6W9wAAAAASUVORK5CYII=" },
			{ QTexture.QColorPalette, "iVBORw0KGgoAAAANSUhEUgAAAJYAAAA8CAYAAACEhkNqAAADBklEQVR4Ae2dT2sTQRyGZ5uALZaqhxJvevTixasHJR9Mqgc/gDfvkoP4IeqfowcVFPSSBDwYsCBpTY20jTuxC+a3dvKblzk+e1lm5n2n5eFhdguhqRb1FcTrd7cSm3Wtr1d/PdySy092b8ndp7NncnfrzTW5G/b16uN3evdueCGXN+QmRQgkCCBWAg5LOgHE0tnRTBBoiXX6aC+cvdxfqcRxnOeCgJdAS6zq3v2wqEVq5Ir3OI7zXBDwEuja4EYt0Fk9uZRrNAqL8WgpVZzngoCXQOvEisUoUXXj5l+p6jtSeXGSawj8V6zl4y+eVOdyNY/FpsQdAusItB6F/75TLR+L5+9Y8fHIybUOJ+sNgdaJ1byoNxLFe/NC35S4Q2AdgdaJ1Xmw1+osJePlvcWFiYsJtE6si6OsQMBPALH8rEhmEECsDFhE/QS6w+HQnzbJ+ellM5MxnPzMCK9GO5/i36ja9bE31Yp16/jwi9w9GW/L3XCgVz8f6t2rYSyXObFkdBRTBBArRYc1mQBiyegopgggVooOazIBxJLRUUwRQKwUHdZkAoglo6OYIoBYKTqsyQQQS0ZHMUUAsVJ0WJMJIJaMjmKKAGKl6LAmE0AsGR3FFAHEStFhTSbQHQwGcnm7uiR3w7eZ3N15dSJ33+/+kLuzo9dytzNsfQrcv9dXf9Qm3x7ZGf94Gj74wybJiWWAMCxDALHKcGQXQwCxDBCGZQggVhmO7GIIIJYBwrAMAcQqw5FdDAHEMkAYliGAWGU4soshgFgGCMMyBBCrDEd2MQQQywBhWIYAYpXhyC6GAGIZIAzLEECsMhzZxRCoer2e/CVN/cncbJcx3NQ/vrJzR/9yqOdXNjN+ydXodN5fncgYVQf6f8gJk4wfZKK3v5uJjOH1oH9ehxMrAzRRPwHE8rMimUEAsTJgEfUTQCw/K5IZBBArAxZRPwHE8rMimUEAsTJgEfUTQCw/K5IZBBArAxZRPwHE8rMimUEAsTJgEfUTQCw/K5IZBBArAxZRPwHE8rMimUHgD7Cif5j2Lp5yAAAAAElFTkSuQmCC" },
			{ QTexture.QComponentUnknownIcon, "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABJ0lEQVQ4EWP8//8/AyWABaSZkZFRCkipEWHQLaCFz5DVgQ0AaX707OV+ZAlk9ofPXxmWLlrI0Nna6Ai0jAHZECZkhbjYHOysDMERUQy1TW0gS9SgLgYrJ84ANjYGAR4uBt/AYIb61i6wITDLsBrw8dtPhqz52xnk8yYx+HSvYLj8+BUDBzvEEGd3T5he3C5YduwKw5GbjxiWZgcyyInwM2TN2w5WDDJETIgfxQBYIKII2qjLMujKijGAaJDtIMNggIuDHcYE01gNAGkGgUdvPzJM33OGIdPFBMzHRmANA5jCyhX7wC7JdDGGCWHQeA0AqcZnO0gerwE26nIgNXgBXgM6Nh0FByI+E7AGIkzDw0l5MCZOGq8LcOpCkmAEZWcSciNMKzxXAgDQhFB+jSkqXAAAAABJRU5ErkJggg==" },
			{ QTexture.QErrorChildIcon, "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAPElEQVQ4EWM8dOjQfwYKABMFesFaaWfAxIkTGUCYEKCdCwjZDJMfdQEDAyPNUiLd0gHtvABLKIRoihMSALYVELlEZj38AAAAAElFTkSuQmCC" },
			{ QTexture.QErrorIcon, "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA8klEQVQ4EbVTOwqEQAyNYushLD2FR/IsHsjGRlH84KewEMHCwlLtZ0lggqMza7FsIOb5krwMZrSSJBHwg9mmXiEEoL+ZUaAoCkB/M0dXcBwHpGlKKd/3wXVdXRlx2hM0TcMNVVUx1oGHwLqucG1CsWVZdL3EPQTatqVEGIaAjiY5erk9FIFhGGAcx1sJwDRN0Pf9g0dCEfg2KY5j7VpZIM9z2LZNO0WSWZZJyJEEzvPktXFGA3DIvu9Khu7BdW0yG0WRhEqs6xqCIGDOxrWVZcmEBNctSA4jDpvnmSnH9OFMJ8DOruvA8zwSsf72N/IZX8AHlG1sfyD6PKsAAAAASUVORK5CYII=" },
			{ QTexture.QLockOffButton, "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAw0lEQVQoFcVSQQqEMBBLa0UExYv/f4zP8SZVQUS7m2FHKhZd9rI5NDOTpCNS03VdwAf7vmNZFpCttSiKQlh1ZacFzcMwaCvsvUfTNBKOBQnxZgbyPEdd18iyDNu2gSHO27Y9bbS8gVsIBpxzMMYIsydUl+Z9SIibCAZiaK+6ahLS5lt24zhinmfx932fzE3ThBACqqoS3Wog6Y6GsS/5eeu6RvZrmQxdbefJn0N8GXewZVne6YcW+xyfij6Xw/FQ/PQjXuzfSEaCCYVrAAAAAElFTkSuQmCC" },
			{ QTexture.QLockOnButton, "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAA4klEQVQoFa1SsQ2DMBA8m1RQINFQswET0FEyBQOwBAswCyUdE7ABMyABJY7OylsmigKKcs35/+/8+IQax9HghW3bMM8z9n1HGIbIsgxRFMnY8UNOFPd9D2PcHVBKoaoqaxYd2Zq4gYY0TVGWJeI4xrIsGIbB9uu6Pm3UdHILN9CQJAmCILDMmn3OfVjTuq62R4MPqWUuM2uS4i6rtm3NNE2nAN7NDCTPcxRFYUf6ykAV30WdQPsRS7NpGjk69nU/vel/pq7r3Gd9Omgmcwe+TjPK4zi++jinTqD8v1yaV/xTEE9GOl7qGAnBXAAAAABJRU5ErkJggg==" },
			{ QTexture.QMonoBehaviourIcon, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAABqUlEQVQoFZ2STU/jMBCGX38lTmlpk/ZQYIsE4kNaENJqj5z4g/wlpP4BuCFOCGmRdkUpRE1bso1tximBVuXUiSyPPX78TsbD+v2+wxrG12BKRF4+JgBbxevCokWjLQ06yqCtCsS03qDhTXroojlZIRVzCLmDpjniFpr8gEZl66da3eBnO81g8wmKcYosewWzBaJaA3HcAhp1cCWgQlUichEc3N1QOhZJ0oFOYnD/79ZgNPyHpz8PiCKNs9OTVTAbDlCYAvnbf/R6P6ADicHLEMOnZ0ynY2x1u586S4oqDChVizRNMRqlCJSCM4ZULRT5UVT7HmRUYsEllOQYZyOCLGpag9ET+KwdfZUtVZUzClPMOQspJaSQ5NNx2mMUE0JUHJZAJxRmZlYGLcHGmVKFCw5DRWpsbi6AX+ro/PyNsNlGnudw1ifm1Ug9CHF8coat7Z1PsOycahU2Wuj9Osfr4z3+3l7DFAZxbw/7B4do1jSl6k/OlZaq6re5VEh2D6FDDe5m6Ha3yaf7qfUqyJ+jvweu0q8y+01v9fpR2eQTUu2wjyYHPYuYK74Df0WXIB2oAngAAAAASUVORK5CYII=" },
			{ QTexture.QMonoBehaviourIconParent, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAArElEQVQoFcWSUQrCMAyGk2YbXkLwcOKhBE/hdXxZhT7uZahDbP+1g9aCE7ohmIfmJ/2/kJQyAFoTag0UmGp3upznYe6YYAClSdCKI/1EY677bTeB4VDA8RNWgxXcKqLesvRD/ehrJ/foWz3qH8FXHL4wp1H9I6QoaZLARHmRN8nruZ4Fc8M3/Vtw8Y4RWLxjCRB3nryO+RAL74xOOTIWpIlsu+HGf3Ix/n4InhGfaDU5zKQatwAAAABJRU5ErkJggg==" },
			{ QTexture.QPrefabConnectedIcon, "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAb0lEQVQoFWM8dOjQfwYCgImAPFiaMTg4GMOk/Px8FL0sIJ65uTlc8OTJk3A2jEGUdUQpAlsHMhbZmokTJ4JtgrkNxSSY22A06W6CWQWjYSbAaBaYvSB3oFsDU4TiJpggOk2UIngQgHTjchMj1VIBAAZRHlB1DoeEAAAAAElFTkSuQmCC" },
			{ QTexture.QPrefabDisconnectedIcon, "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAbUlEQVQoFWM8dOjQfwYCgImAPFia8bC+GYZJ/yf3oOhlAfM83RCC23ch2FAWUdYRpQhiHchYJGsYc0vAFsHchmoSzG0wmnQ3wayC0VATYBQLzF6wO9CsgSlCdRNMFI0mShEiCEC6cbiJkWqpAAB1DRpmmT7fEwAAAABJRU5ErkJggg==" },
			{ QTexture.QRendererOffButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAiUlEQVQoFe1SMRIAEQx0N0alValU/v8Fv1CpfEJzR04yUjBGfZrsZrMzslwhhEccHImeUgrCZVVKgQ7GnPNyGEVjDEIhY4xEVkBrzeS7Meec8N6DMMPMVQkYW3PccYZHM+yYUqLeDNNAB/9VaxBjwvhrWj7bqVpre55fkfjwrLtB6ANszLKRY+MLjuJGY7L4HGsAAAAASUVORK5CYII=" },
			{ QTexture.QRendererOnButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAg0lEQVQoFWM8dOjQfwYyAAtMz/v372FMvLSgoCBYHqxx7dq1eBXDJJ2cnGBMBpaJEyfCOfgYMjIyKNJMIF5cXBxDfn4+WAIXG0UXkAPWCBJE9iMuNrJmxuDgYKJCFeRUkB9hgTPqVLTQhgUMKHSJDlVYPMOihJHcRA5PADCTiKXJ1ggAYtRHVuDRFcwAAAAASUVORK5CYII=" },
			{ QTexture.QRendererWireframeButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAhklEQVQoFWM8dOjQfwYyAAtMz6Mfv2BMvLQcBxtYHqyx/NZjvIphktly4jAmA4v9qetwDj6GhQAPijQTiLdYT5nhoJkmWAIXG0UXkAPWCBJE9iMuNrJmRsaemUSFKsipID/CAmfUqWihDQsYUOgSHaqweIZFCQu6AEyCEA1PAIQUosuTrREAgLtCtcf9h2kAAAAASUVORK5CYII=" },
			{ QTexture.QStaticHalfButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAA0ElEQVQoFb2SPwqFMAzGo3QXHHoDwaWzHsgLeaVunXUQvIFDoYOD03t8gZa2/nng8D4oTWN+JmlaaK0/9ELlC4YREYP7vtM0TbSuK/V9T1VVUV3XJEQSdgYBGWP4w3EctG0b21LK+P9sJ6UiUy7nXO46g5cRN84kY9M0pzD0eaUEVEpR13UhDr3hcq4UwHEc+UYBewGy1tI8z94VdgYBIVMM+QjAyJzD5RP0BPNkMTs/Px+MfVmW+JjYocdhGAgrV9u2hJWr+PsjD6Xmpfw6fwEf90Jt2H+R4QAAAABJRU5ErkJggg==" },
			{ QTexture.QStaticOffButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAArklEQVQoFb2STQrEIAyF0+JecOEZvP8RPIMLz+BCcC/M8IQE49iZoYsGivGZT/PTI8b4oht23mAGYmaw9061VmqtDdlaS845MkaFfYKASilyF/vee9HYUanyS3yIdadBVyCEf02BqGm1nYYYBaIRcz3woe1MwJTS6OgcCB8Nw9lqA8TB1e2cxQqf3yB+ZQePyWJePDMOxppznrfKlxpDCIRvtSv9ePwnl1TXFH/t3wW9P9OWDKCgAAAAAElFTkSuQmCC" },
			{ QTexture.QStaticOnButton, "iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAsElEQVQoFb2SsQ0DIQxF4ZSOOSipYQ9WoGcWVqKjpmQO6kQfyQgIl0uuyJdOZ779wFjwGOOT3dBxg2nIYwRrrSznzEopzZZSMqUUE0KMZe8goJRSL6LYGNM9CqZW6SRK4r/z4E8gjG81gbjTqp2HmgnEILTWnUUMb6cOhhDaRMdCxBgYcqsaiMTZ7tTFCh+fIDplB3Nr7U9Pznvf9ut3dM4xfKvOfP73R95bXVu8Wr8Agzw8stK/URcAAAAASUVORK5CYII=" },
			{ QTexture.QTreeMap, "iVBORw0KGgoAAAANSUhEUgAAAbIAAAAQCAYAAABz0PpNAAACaUlEQVR4Ae3cz2riQADH8Z8m/mO1VveiqyAInkQ89rl8AQ9ePfhOvoJ9AT14WDdLV1vFbf5sZgqlttIlsIQsfOcgcTJj4meEH5NMzC2Xy0iflPl8rsVioe12+0mrj7vo99HE1OCCy3WB67X8XnC5LnC99n/6vcxmMx0Oh+tfJGFtPmF7miOAAAIIIJApAYIsU8PBySCAAAIIJBUgyJKK0R4BBBBAIFMCBFmmhoOTQQABBBBIKuAm7UB7BBBAAAEE0hB4ejrqdDrFi0L22u/3CoJA1S9V3TZuVa1W5bquisWiCLI0RoNjIIAAAggkFri/X9k+zeZXNRoNux2FoXY/dtpsNqpUKhoOhwRZYlk6IIAAAgj8E4FarXbxOe+X43ueJ9/3dT6f1e1249lXQd+9n/J2no6no1qtlu3PjOyCkTcIIIAAAmkImOfI3pfJZHJRVSqWFEWRHh5+2UuLhULBXl4Mg1Bm28zITCHILth4gwACCCCQhsB0Ov37A9E5yck7NrQeD48yAVYulRXlX/7Hw4ScKaxaTGPEOAYCCCCAQGKBfC5OsjirojCyCztcx7UzNBNguXif4zj2MwmyxLR0QAABBBBIQ8CJVyU+B8/2UGEUyg/9ONci5Z28/MDXTf3G7iPI0hgNjoEAAgggkFhgPB6r2Wzq/PusMF6taIoJNHPvbDQaqfOtY+u4R2YZeEEAAQQQyJpAvV7X3d2d1uu1VquVXcHY6/U0GAzsQg9zedEUgixrI8f5IIAAAgi8CpiHnvv9vsrlsg2ydrttH4J+bRBvEGRvNdhGAAEEEMicgJl5dTovlxGvndwfnXo477Q+xnMAAAAASUVORK5CYII=" },
			{ QTexture.QTreeMapParent, "iVBORw0KGgoAAAANSUhEUgAAAbIAAAAQCAYAAABz0PpNAAABN0lEQVR4Ae3bwQ2CQBAFUDBeKYmiaIADVw70RDE0QAEajroLazaajMnjxsyujm9J/kFt13V9NBfXPM/NsizNtm0Xq9KWfanJUeHCJS+Qr3peuOQF8tV/el6maWr2fU8+SN/3bVIsFG6FvjYBAgQIEAgtIMhCH4/hCBAgQKAkIMhKQvoECBAgEFpAkIU+HsMRIECAQElAkJWE9AkQIEAgtIAgC308hiNAgACBksC9tECfAAECBAj8QqDrupeXzf0c/2XByY0gO4FRJkCAAIHfCRz/I3u/hmF4L310L8g+YrKIAAECBL4pMI5j9g/RNe/hO7IaNXsIECBAIIyAIAtzFAYhQIAAgRoBQVajZg8BAgQIhBEQZGGOwiAECBAgUCMgyGrU7CFAgACBMAKCLMxRGIQAAQIEagSeE3rCT/OZ2msAAAAASUVORK5CYII=" },
			{ QTexture.QTrimIcon, "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAQCAYAAADagWXwAAAASElEQVQYGWM8dOjQfwYcgAmHOFiYXpKfPn2COwPFTmQJkAq4JLoEiiTcLCQGXCcfHx+SMIQJlwRx0RWgSKIrwJCEGAghaSQJAH8hDGWGuqKrAAAAAElFTkSuQmCC" },
			{ QTexture.QVisibilityOffButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABoElEQVQ4Ea1Tx6oCQRCsXXNC8WIAA4oX//8L/A3ZgwEVzAHFuI+qRy9rePAONszOTk93dXUYp9fr+fiCuF/AEISADocDxuPxG6bv++D6j0RpFIlEsNvtMBqNUKvVcDqdMJlMcLvdBBSPx5HJZFAoFJBIJD7iilEqlUK73cZ2uxUznunsui5isRiOxyPm8zn6/T5ms9lHlmLEEKvVSpE2mw0ejwfq9brOTI3nwWAgwMVigfP5rHvHcWTDjxgx2nK5lJIsyGA4HOrMAEy72WwiGv2Nu9/vMZ1OdW8fl+h0NLE06UywYrEoBgyQzWbNTDrW0kSMXjvDunBZA8rlstk/7WE/l11IJpOBAaPc73dUKhUVm2A2GpYajfkf9hOjUqmEXC4nMBaWKTGNbreLTqcjZgQjMxuBarWqQMbAsSdCmiygdY81ITh3siLLfD6vOWMw6sMSAJmShV+v1+C0X69XqVkvMqSO6TQaDTMP9mCOTJNOp8Fl80M9o3NmLpcLPM9T6jZn5vcGZBd05NMJC6e91Wo9jYvd/wlkBq87u/zpvf0AFiDaUCRKpdMAAAAASUVORK5CYII=" },
			{ QTexture.QVisibilityOffEditButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAB+klEQVQ4Ea1TTU8TURQ989mW0mlpgQR0Y1z4A0xIWBBQYcc/4E8aw5aSlISFujHEBcQoHyFAtZbSj5lO2xnOffTps9XEBSd5ydz77jvv3PPuWLVaLcUjwH4EDkWhiC6jGAfN9hRnwoys/4ErRVnHxlkYI0nbWC8X0BgMcdjsIEweaPLcX8p4eD6TRdF1/sqrFFU8F9uLJXwNI6WszLjoOfAsCzMk+UHiT+0e3tab+Njq8sJpLqVI0ifdUO1+6UUYpilelQMVy6EB42qjhet4gKNOD63hCBtU7vAiDaXoiLd97jwQ+baNejzEXuNO1Rz3QlxEfWzOF5HjnuCc8QcqM4XZwn7Dgxrz0uZCSRXv/7zDi3xOKZDbn2R9XYZbnmsY59yEsmWZEHMLjoPTsA+LZBvjNs0aOZEYmuw5KpClIcb2acxKaZZm2/hGMj0amXFrUpuzLcijaKivl0FeyRcvYj55lSq2KgF2lisqv1u/ZX0ba3MFRNxv8rLVUgGuYbalf5ER23tPA4+7EQWnENOfZnwWi7mxIniWy3DOAvWqMhomfhHp5Hc+8QnJrvoDdEbiQoo8/VrmQEpO2nlNtX/SAL+bHDMt+B5kyUxLmwKfXtESEo/wjm1WORpvSGZiikhvysRkDXMlP0tlMhrXVDaJfxJNFuo44L8maxL3LnfirBvI0cwAAAAASUVORK5CYII=" },
			{ QTexture.QVisibilityOffParentButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABR0lEQVQ4Ea1S246CQAwtg1zUEB40IJEn//8r+A984xKCJhIQUCKb092ZLOyDuxuacGk7PT3tGS2KopEWMLEABkMsBrSaM+r7nm63G93vd3o+nzSOIxmGQev1mlzX5e+8Bv4EqCxLul6vXCyE4CJN0xgU4HgA5nkeIf/dFFCWZVRVFeds26YwDEnXdfbBKkkSapqGwcAUeTSRxrCXy0WBoNPxeKTH40Hn85niOKa6rjm2Wn32xdhFUUgM/goUdF2ngmCDAjBE52EYKM9z7r7dbtW5ed10UHXs7z/CNE0CC2lgByZBELBaYHc4HFgA7EjavI6H3u12vBMs+/V6UZqmvMzT6cR1ctkYE7bZbFg5dr5eSjXJAPKDFRaNuyPlRwMY5Pd9f6IY4goIzn6/J8dx1IVs2/Z/FxJglmX9oI34O1tOtXedfpv/ANVipOlI1CBzAAAAAElFTkSuQmCC" },
			{ QTexture.QVisibilityOffParentEditButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABn0lEQVQ4Ea1Sy07CQBQ9ffJoaQVR0KXRrRsTSIwriZ/gR6r/oAkxLtyYGFcSV0bAByhQyqO09d7B1sawMIGz6DQzc88995yR6vV6iBVAXgGHoFgZkfpXUdeboeGO0Rx7cHwfPLehyCjrGnaNNEq0LkJMFNDpXX+IB2eEIAyhShJKKQ0KJLSnHh6JvOFOsJdNobJmQqPzJAQRd73+HOCJLjOKmoaTooW0LAtFPhFfdvt4GU8FoeMHqK1bopkooI/w6H7gxiSs5Jgu9WY+LtpdnLU6eCaCWsGiERVR15xMcdsbgqeIIHPBG0mPsEEesCeskD0aBQFuvhwo1GCLRo3AdZ1E3VKpSeRfBNlWFWwmkninLqzkKJ+DSaNkyKdDMndGPjUnv8q5rqDHWUH87eeywhM2mwuuOgNh9mm5IBryHpvtUgPGdkpHxTbmBosdzIlYICtgbzj+D8/DORld/om/RUq8MKBBJBF/lRRyKEnE2tisA8vATiYlIuYH+UoE/DRMalDS09ijB5m0YSFRtJnXVFRtE7Cjnf+tS6WWbLEyom/Z5KTasdrV+gAAAABJRU5ErkJggg==" },
			{ QTexture.QVisibilityOnButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABc0lEQVQ4Ea1SuwrCQBAcNTZiCptojPoB8SMMCFbRfKCQr7DRwsJCIWAqBSvBRFEhoCgIiiS6Czl8gCDkiuSW25mbnbnUaDSKkMBKJ8DBFIkRSZ+KgiDAbDaD7/s4nU6IogiyLEPTNOi6jnK5/AnhOhV7RIDxeAzXdRGGISRJYnAmk8Fms8H1emVAvV5Ho9FANpt9IxSKBoMBFosFHyqKAsuykMvluL7f7+j1elitVpjP56y00+nwZTEbe+Q4jiAhJaZp4ng8wrZtdLtdLJdLtNtt5PN5xtHYz0l4bEF0OByw3W7jGqVSiT0hhefzGZfLBcPhEDRirVYTfYTb7/eiTiy1dKFQgKqqgnm327GSVqvFysinZrMJ8ok8ihfhisViXEKk1u/3hU+/zCZktVrFp9mCiOKfTCaYTqccP3lSqVTYm/V6jdvtxrdT/IZhvCVGB4KIu54fepAUsed5Xw+SSF5tiDH0/yJ6Pfxnn1xq/9z6q/cBV6y0nfqnL1YAAAAASUVORK5CYII=" },
			{ QTexture.QVisibilityOnEditButton, "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAABoUlEQVQ4Ea1STUsCQRh+dtHVNKOikkKNCBX6wCD6EXXr0s/o1iXoFAlB12516lI/oEvdPHQoKjwUgVogpmZfWq7tqq29M7a6ax2MfA/DDDPv8z4fI0QikRo6UGIHMDhEx4AsrYziJQWHjwVcvMnIqGVoJHzIZsWMy4H5wV5Md3e1tvCzoHvEGnZSORxkX1Ct1WATBYRcTlgEIPpegvypgbZYILDlUTfsolkMZ8TcDt+mcfxc4OhBpx2bAS/6rBawO1XTsBZL4bQgE9s8smoF4YDHBMZh99JPDRDGZN3vQYoeL0XjWLyM4SRfxIbfiwGp7sQ5yd5O5rhsPpkWMamUcVX80M+YIA/ckhXhRBoPBPZaqWLrLgOJBsz1OBvvkoqKG7nZZxbaeNbeRmCmfZfos0uYNCRxTewYk9XxEbgprX7yaWVsmHyq4Ywk6eWz2xB0NBPkqXGzScrRL2azRsVgNjvPksRWs03x797nsJ+px888YX/HQvzbib8BxCaxSpRUHjFLRv+QTGKIQNkfmjLYUO+orz+AjJd/2f8rNeOgjgF9ARM2szIhEGUrAAAAAElFTkSuQmCC" },
		};

		private Dictionary<QColor, Color> colorsDark = new Dictionary<QColor, Color>()
		{
			{ QColor.BackgroundDark, new Color(0.15f, 0.15f, 0.15f) },
			{ QColor.Background , new Color(0.22f, 0.22f, 0.22f) },
			{ QColor.Gray       , new Color(0.6f, 0.6f, 0.6f) },
			{ QColor.GrayLight  , new Color(0.8f, 0.8f, 0.8f) },
			{ QColor.GrayDark  , new Color(0.4f, 0.4f, 0.4f) },
		};
		private Dictionary<QColor, Color> colorsLight = new Dictionary<QColor, Color>()
		{
			{ QColor.BackgroundDark, new Color(0.88f, 0.88f, 0.88f) },
			{ QColor.Background , new Color(0.761f, 0.761f, 0.761f) },
			{ QColor.Gray       , new Color(0.3f, 0.3f, 0.3f) },
			{ QColor.GrayLight  , new Color(0.1f, 0.1f, 0.1f) },
			{ QColor.GrayDark  , new Color(0.55f, 0.55f, 0.55f) },
		};

		// CONSTRUCTOR
		private QResources()
		{
			textures = new Dictionary<QTexture, Texture2D>();
		} 

		// PUBLIC
		public Texture2D getTexture(QTexture textureName) 
		{
			if (!textures.ContainsKey(textureName))
			{
				Texture2D texture = new Texture2D(0,0, TextureFormat.ARGB32, false, true);
				texture.hideFlags = HideFlags.HideAndDontSave;
				texture.LoadImage(Convert.FromBase64String(EditorGUIUtility.isProSkin ? resourcesDark[textureName] : resourcesLight[textureName]));
				textures.Add(textureName, texture);
			}
			return textures[textureName];
		}

		public Color getColor(QColor color)
		{
			return EditorGUIUtility.isProSkin ? colorsDark[color] : colorsLight[color];
		}
	}
}
